package com.seeyon.apps.wpscoordination.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class SendMessageDto implements Serializable {
    private static final long serialVersionUID = 1L;

    //指应用的 AK，即 app_id
    private String app_key;
    // 发送给某个企业的部分人员
    private UserDto to_users;
    // 发送给对应部门
    private DeptsDto to_depts;
    // 发送给关联组织的部分人员
    private List<PartnerMembersDto> partner_members;
    // 发送给对应公司，当前仅支持传一个 company_id
    private String[] to_companies;
    // 发送给对应群聊 ids
    private Integer[] to_chats;
    // 消息所属业务类型，并且尽量是当前 app_key 下唯一。主要用来区分具体业务，做一些业务特殊处理。对于卡片消息建议加上
    private String biz_type;
    // app_key+ctx_id 映射到消息 id,最大长度 128，建议不要占满
    private String ctx_id;
    // 消息生产者 id
    private String company_uid;
    // 消息生产者企业 id
    private String company_id;
    // 后续消息更新方式，0 - 后续不更新，1-后续更新消息中 content（目前只开放更新按钮）
    private Integer utype;
    // 	表示消息内容格式类型。1-普通文本消息，2-通知卡片消息，12-发送本地文件，13-发送图片，14-图文链接消息，18-图文混排，19-语音消息，20-视频消息，23-模板卡片消息
    private Integer msg_type;
    // 	消息内容，不同消息类型（msg_type）的结构不同，详见“参数结构说明（Content）”
    private MessageContentDto content;

}
